package ru.toxsoft.mcc.ws.mnemos.app.controls;

/**
 * Интерфейс элементов, которые могут быть размещены да 2-мерной плоскости.
 * <p>
 * Начальная точка - точка, которая используется элементом как опорная. Например, при вычислении границ, отрисовки и
 * т.д. Для подавляющего большинства элементов - это левая-верхняя точка описывающего прямоугольника.
 *
 * @author vs
 */
public interface I2dPlaceable {

  /**
   * Возвращает x координату в пикселях начальной точки элемента.
   *
   * @return x координату в пикселях начальной точки элемента
   */
  int x();

  /**
   * Возвращает y координату в пикселях начальной точки элемента.
   *
   * @return y координату в пикселях начальной точки элемента
   */
  int y();

  /**
   * Задает координаты опорной точки в пикселях.
   *
   * @param aX int - x координата в пикселях
   * @param aY int - y координата в пикселях
   */
  void setLocation( int aX, int aY );
}
